package cn.e4j.modular.crm.mapper;

import cn.e4j.core.dto.impl.Dto;
import cn.e4j.modular.crm.entity.GwcqT;
import cn.e4j.modular.crm.entity.GwcqzT;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author yuan_rz
 * @since 2019-01-17
 */
public interface GwcqTMapper extends BaseMapper<GwcqT> {

    List<Dto> getListData(@Param("page") Page<Object> page, @Param("dto") Dto dto);
    List<Dto> getListDataOra(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    Dto getGwb001(@Param("dto") Dto dto);

    List<Dto> getGwb002(@Param("dto") Dto dto);

    List<Dto> getSys003(@Param("dto") Dto dto);

    List<Dto> getAddData(@Param("dto") Dto dto);

    List<Dto> getUpdateData(@Param("dto") Dto dto);

    void deleteDataByDocno(@Param("dto") Dto dto);

    List<GwcqT> getDataByDocno(@Param("dto") Dto dto);

    List<GwcqzT> getGwcqzByDoc(@Param("dto") Dto dto);

    void setTransformOrderYes(@Param("dto") Dto dto);

    void setTransformInquiryYes(@Param("dto") Dto dto);

    /**以下为获取各种杂七杂八的数据**/
    String getGwak057(@Param("dto") Dto dto);

    String getSysParams(@Param("dto") Dto dto);

    BigDecimal getGwel005(@Param("dto") Dto dto);

    BigDecimal getGwek005(@Param("dto") Dto dto);

    Dto getBiZhongShuiZhongShuiLvZheKou(@Param("dto") Dto dto);

    //BigDecimal getZheKouByCustomerType(@Param("dto") Dto dto);

    List<Dto> getFrzzList(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    Dto getGwdd003(@Param("dto") Dto dto);
    Dto getGwdd003Ora(@Param("dto") Dto dto);

    /*
     * 根据经销商获取默认仓库
     */
    Dto getGwak058(@Param("dto") Dto dto);

    /*
     * 根据商品获取默认仓库
     */
    Dto getGwam019(@Param("dto") Dto dto);

    List<Dto> getGwcqzData(@Param("dto") Dto dto);

    Dto getData1(@Param("dto") Dto dto);

    Dto getData2(@Param("dto") Dto dto);

    Dto getGwak(@Param("dto") Dto dto);

    List<Dto> getGwcqData(@Param("page") Page<Object> page,@Param("dto") Dto dto);
    List<Dto> getGwcqData_(@Param("page") Page<Object> page,@Param("dto") Dto dto);
    List<Dto> getGwcq109(@Param("dto") Dto dto);

    Dto getGwdc004(@Param("dto") Dto dto);

    List<Dto> getGwdcz1(@Param("page") Page<Object> page,@Param("dto") Dto dto);

    List<Dto> getGwdcz1_GWDCT003(@Param("page") Page<Object> page,@Param("dto") Dto dto);
    List<Dto> getGwdcz1_GWDCT004(@Param("page") Page<Object> page,@Param("dto") Dto dto);

    List<Dto> getGwdcz2(@Param("page") Page<Object> page,@Param("dto") Dto dto);

    List<Dto> getGwdcz2_GWDC020(@Param("page") Page<Object> page,@Param("dto") Dto dto);

    List<Dto> getGwdcz2_GWDC021(@Param("page") Page<Object> page,@Param("dto") Dto dto);

    Dto getGWDC002(@Param("dto") Dto dto);
    Dto getGWDC002Ora(@Param("dto") Dto dto);
    Dto getGWDC002_(@Param("dto") Dto dto);
    Dto getGWDC002_Ora(@Param("dto") Dto dto);

    /**
     * 根据活动编号获取活动对象、单据类型
     * @param dto
     * @return
     */
    Dto getGwdc004_007(@Param("dto") Dto dto);

    void delGwcqzByGwcqz007(@Param("dto") Dto dto);

    void deleteGwcq(@Param("dto") Dto dto);

    /**
     * 根据活动编号获取促销方式、结算方式
     * @param dto
     * @return
     */
    Dto getGwdc005_006(@Param("dto") Dto dto);

    List<Dto> getGwdc001(@Param("dto") Dto dto);
    List<Dto> getGwdc001Ora(@Param("dto") Dto dto);

    List<Dto> getGwcqList1(@Param("dto") Dto dto);
    List<Dto> getGwcqList1Ora(@Param("dto") Dto dto);

    List<Dto> getGwcqList2(@Param("dto") Dto dto);
    List<Dto> getGwcqList2Ora(@Param("dto") Dto dto);

    List<Dto> getGwdcz(@Param("dto") Dto dto);
    List<Dto> getGwdczOra(@Param("dto") Dto dto);

    List<Dto> getGwdcz_jt2(@Param("dto") Dto dto);
    List<Dto> getGwdcz_jt2Ora(@Param("dto") Dto dto);

    Dto getBizhong(@Param("GWAK001") String GWAK001);
}
